//package com.ruyuan.eshop.construction.dao;
//
//import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
//import com.ruyuan.eshop.common.dao.BaseDAO;
//import com.ruyuan.eshop.construction.converter.CategoryInfoConverter;
//import com.ruyuan.eshop.construction.domain.dto.CategoryInfoDTO;
//import com.ruyuan.eshop.construction.domain.dto.CategoryInfoTreeDTO;
//import com.ruyuan.eshop.construction.domain.entity.CategoryInfoDO;
//import com.ruyuan.eshop.construction.domain.entity.CategoryInfoTreeDO;
//import com.ruyuan.eshop.construction.domain.request.CategoryRequest;
//import com.ruyuan.eshop.construction.domain.request.QueryCategoryListRequest;
//import com.ruyuan.eshop.construction.domain.request.QueryCategoryRequest;
//import com.ruyuan.eshop.construction.mapper.CategoryInfoMapper;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.stereotype.Repository;
//
//import javax.annotation.Resource;
//import java.util.List;
//
///**
// * 商品品类信息
// *
// * @author zhonghuashishan
// */
//@Repository
//@Slf4j
//public class CategoryInfoDAO extends BaseDAO<CategoryInfoMapper, CategoryInfoDO> {
//
//    @Resource
//    private CategoryInfoMapper categoryInfoMapper;
//
//    @Resource
//    private CategoryInfoConverter categoryInfoConverter;
//
//    /**
//     * 查询品类信息列表
//     *
//     * @param categoryListRequest
//     * @return
//     */
//    public List<CategoryInfoDO> selectListByLike(QueryCategoryListRequest categoryListRequest) {
//        return categoryInfoMapper.selectListByLike(categoryListRequest);
//    }
//
//    /**
//     * 查询品类树
//     * @param categoryQueryRequest
//     * @return
//     */
//    public List<CategoryInfoTreeDO> selectTree(QueryCategoryRequest categoryQueryRequest){
//        return categoryInfoMapper.selectTree(categoryQueryRequest);
//    }
//
//    /**
//     * 查询某个层级的类目树
//     * @param categoryQueryRequest
//     * @return
//     */
//    public  List<CategoryInfoDO> listBy(QueryCategoryRequest categoryQueryRequest){
//        CategoryInfoDO categoryInfoDO = categoryInfoConverter.converterDO(categoryQueryRequest);
//
//        QueryWrapper<CategoryInfoDO> queryWrapper = new QueryWrapper<>();
//        queryWrapper.orderByAsc("CATEGORY_SORT");
//        queryWrapper.setEntity(categoryInfoDO);
//
//        return list(queryWrapper);
//    }
//
//    /**
//     * 新增或者修改品类树
//     * @param categoryRequest
//     */
//    public Boolean saveOrUpdate(CategoryRequest categoryRequest){
//        CategoryInfoDO categoryInfoDO = categoryInfoConverter.converterDO(categoryRequest);
//        // 初始化部分信息
//        categoryInfoDO.initCommon();
//        // 保存品类信息
//        return  this.saveOrUpdate(categoryInfoDO);
//    }
//}
